{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "WARNING:root:This caffe2 python run does not have GPU support. Will run in CPU only mode.\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import gym\n",
    "\n",
    "\n",
    "from src.utils.Config import Config\n",
    "from src.utils.Logging import Logger\n",
    "from src.components.memory import ReplayBuffer, PrioritiesedReplayBuffer\n",
    "from src.networks.models import QNetwork, NoisyQNetwork, NoisyDualingQNetwork, DualingQNetwork\n",
    "from src.utils.misc import train, watch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "env: \t\tEnvSpec(CartPole-v1)\n",
      "win condition: \t195.0\n",
      "state space\t(4,)\n",
      "action space\t2\n",
      "device: \tcpu\n",
      "seed: \t\t123456789\n",
      "n_episodes: \t2000\n",
      "max_t: \t\t1000\n",
      "eps_start: \t1.0\n",
      "eps_end: \t0.01\n",
      "eps_decay: \t0.995\n",
      "eps_greedy: \tTrue\n",
      "noisy: \t\tFalse\n",
      "tau: \t\t0.001\n",
      "gamma: \t\t0.99\n",
      "lr: \t\t0.0005\n",
      "memory: \t<class 'src.components.memory.ReplayBuffer'>\n",
      "batch_size: \t64\n",
      "buffer_size: \t100000\n",
      "lr_annealing: \tFalse\n",
      "learn_every: \t4\n",
      "double_dqn: \tFalse\n",
      "model: \t\t<class 'src.networks.models.DualingQNetwork'>\n",
      "save_loc: \tNone\n",
      "Logging at: logs/CartPole-v1/experiment-2020-04-19_19_42_09\n"
     ]
    }
   ],
   "source": [
    "config = Config()\n",
    "\n",
    "config.env = gym.make('CartPole-v1')\n",
    "\n",
    "config.win_condition = 195.0\n",
    "config.memory = ReplayBuffer\n",
    "config.model = DualingQNetwork\n",
    "config.print_config()\n",
    "config.buffer_size = 10000\n",
    "\n",
    "logger = Logger(config)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epi: 100\t Frame: 3429\tAverage Score: 34.2900\tMean: 146.0000\tDuration: 0.53\t#t_s: 145.0\n",
      "Epi: 200\t Frame: 7641\tAverage Score: 42.1200\tMean: 53.0000\tDuration: 0.13\t#t_s: 52.0\n",
      "Epi: 300\t Frame: 18689\tAverage Score: 110.4800\tMean: 144.0000\tDuration: 0.31\t#t_s: 143.0\n",
      "Epi: 400\t Frame: 33179\tAverage Score: 144.9000\tMean: 265.0000\tDuration: 0.59\t#t_s: 264.0\n",
      "Epi: 500\t Frame: 49874\tAverage Score: 166.9500\tMean: 165.0000\tDuration: 0.35\t#t_s: 164.0\n",
      "Epi: 600\t Frame: 68043\tAverage Score: 181.6900\tMean: 324.0000\tDuration: 0.71\t#t_s: 323.0\n",
      "Epi: 700\t Frame: 84107\tAverage Score: 160.6400\tMean: 287.0000\tDuration: 0.65\t#t_s: 286.0\n",
      "Epi: 800\t Frame: 100131\tAverage Score: 160.2400\tMean: 165.0000\tDuration: 0.38\t#t_s: 164.0\n",
      "Epi: 900\t Frame: 118059\tAverage Score: 179.2800\tMean: 293.0000\tDuration: 0.66\t#t_s: 292.0\n",
      "Epi: 916\t Frame: 122159 \tAverage: 195.0600\tMean: 236.0000\tDuration: 0.51\t#t_s: 235.0\n",
      "Environment Solved in 284.6151 seconds !\n"
     ]
    }
   ],
   "source": [
    "train(config, logger)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(logger.score)\n",
    "plt.plot(logger.average_score)\n",
    "plt.show()\n",
    "dualing_score = logger.average_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Logging at: logs/CartPole-v1/experiment-2020-04-19_19_38_29\n",
      "Epi: 100\t Frame: 2962\tAverage Score: 29.6200\tMean: 39.0000\tDuration: 0.16\t#t_s: 38.0\n",
      "Epi: 200\t Frame: 8595\tAverage Score: 56.3300\tMean: 104.0000\tDuration: 0.44\t#t_s: 103.0\n",
      "Epi: 300\t Frame: 21802\tAverage Score: 132.0700\tMean: 252.0000\tDuration: 1.08\t#t_s: 251.0\n",
      "Epi: 394\t Frame: 40475 \tAverage: 195.8100\tMean: 290.0000\tDuration: 1.35\t#t_s: 289.0\n",
      "Environment Solved in 182.6888 seconds !\n"
     ]
    }
   ],
   "source": [
    "config = Config()\n",
    "\n",
    "config.env = gym.make('CartPole-v1')\n",
    "\n",
    "config.win_condition = 195.0\n",
    "config.memory = PrioritiesedReplayBuffer\n",
    "config.model = DualingQNetwork\n",
    "config.buffer_size = 10000\n",
    "\n",
    "logger = Logger(config)\n",
    "train(config, logger)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(logger.score)\n",
    "plt.plot(logger.average_score)\n",
    "plt.show()\n",
    "dualing_pre_score = logger.average_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Logging at: logs/CartPole-v1/experiment-2020-04-19_19_48_29\n",
      "Epi: 100\t Frame: 2371\tAverage Score: 23.7100\tMean: 26.0000\tDuration: 0.11\t#t_s: 25.0\n",
      "Epi: 200\t Frame: 4339\tAverage Score: 19.6800\tMean: 10.0000\tDuration: 0.04\t#t_s: 9.0\n",
      "Epi: 300\t Frame: 9367\tAverage Score: 50.2800\tMean: 154.0000\tDuration: 1.26\t#t_s: 153.0\n",
      "Epi: 363\t Frame: 25617 \tAverage: 196.2500\tMean: 350.0000\tDuration: 1.48\t#t_s: 349.0\n",
      "Environment Solved in 120.9616 seconds !\n"
     ]
    }
   ],
   "source": [
    "config = Config()\n",
    "\n",
    "config.env = gym.make('CartPole-v1')\n",
    "\n",
    "config.win_condition = 195.0\n",
    "config.memory = PrioritiesedReplayBuffer\n",
    "config.model = DualingQNetwork\n",
    "config.buffer_size = 10000\n",
    "config.double_dqn = True\n",
    "\n",
    "logger = Logger(config)\n",
    "train(config, logger)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(logger.score)\n",
    "plt.plot(logger.average_score)\n",
    "plt.show()\n",
    "dualing_double_pre_score = logger.average_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Logging at: logs/CartPole-v1/experiment-2020-04-19_19_50_30\n",
      "Epi: 100\t Frame: 1169\tAverage Score: 11.6900\tMean: 11.0000\tDuration: 0.08\t#t_s: 10.0\n",
      "Epi: 200\t Frame: 2615\tAverage Score: 14.4600\tMean: 12.0000\tDuration: 0.09\t#t_s: 11.0\n",
      "Epi: 300\t Frame: 4136\tAverage Score: 15.2100\tMean: 14.0000\tDuration: 0.10\t#t_s: 13.0\n",
      "Epi: 400\t Frame: 5596\tAverage Score: 14.6000\tMean: 11.0000\tDuration: 0.08\t#t_s: 10.0\n",
      "Epi: 500\t Frame: 7268\tAverage Score: 16.7200\tMean: 10.0000\tDuration: 0.07\t#t_s: 9.0\n",
      "Epi: 600\t Frame: 9043\tAverage Score: 17.7500\tMean: 26.0000\tDuration: 0.18\t#t_s: 25.0\n",
      "Epi: 700\t Frame: 11092\tAverage Score: 20.4900\tMean: 18.0000\tDuration: 0.13\t#t_s: 17.0\n",
      "Epi: 800\t Frame: 21939\tAverage Score: 108.4700\tMean: 230.0000\tDuration: 1.59\t#t_s: 229.0\n",
      "Epi: 835\t Frame: 31572 \tAverage: 196.5300\tMean: 180.0000\tDuration: 1.22\t#t_s: 179.0\n",
      "Environment Solved in 226.1607 seconds !\n"
     ]
    }
   ],
   "source": [
    "config = Config()\n",
    "\n",
    "config.env = gym.make('CartPole-v1')\n",
    "\n",
    "config.win_condition = 195.0\n",
    "config.memory = PrioritiesedReplayBuffer\n",
    "config.model = NoisyDualingQNetwork\n",
    "config.buffer_size = 10000\n",
    "config.double_dqn = True\n",
    "\n",
    "logger = Logger(config)\n",
    "train(config, logger)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(logger.score)\n",
    "plt.plot(logger.average_score)\n",
    "plt.show()\n",
    "dualing_double_pre_noisy_score = logger.average_score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(dualing_score)\n",
    "plt.plot(dualing_pre_score)\n",
    "plt.plot(dualing_double_pre_score)\n",
    "plt.plot(dualing_double_pre_noisy_score)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
